package com.hypo.until;

import com.hypo.pojo.Result;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;


/**
 * 类上添加注解
 * RestControllerAdvice
 * 1)会将该注解所在的类交给Spring的IOC容器管理
 * 2）该注解所在的类的方法响应数据格式是JSON格式
 * 3）加该注解的类，会拦截所有Controller层方法的异常（方法上有@GetMapping、@PostMapping、@XxxMapping）
 * 4）该类拦截后，会将异常交给带有@ExceptionHandLer注解的方法处理，该注解可以指定方法要处理的异常类型
 */
@RestControllerAdvice
public class GlobalExceptionHandler {
    @ExceptionHandler
    public Result handleException(Exception exception) {
        return Result.error("服务器异常，请稍后再重试");
    }

    @ExceptionHandler(MyException.class)
    public Result handleMyException(MyException ex) {
        return Result.error(ex.getMessage());
    }
}
